package pers.xiaojun.boot.module.system.service.auth;

import pers.xiaojun.boot.module.system.controller.auth.vo.AuthLoginReqVO;
import pers.xiaojun.boot.module.system.controller.auth.vo.AuthLoginRespVO;

/**
 * 认证服务层
 *
 * @author xiaojun
 * @since 2025-10-04
 */
public interface AuthService {

    /**
     * 用户登录
     *
     * @param reqVO 登录请求数据
     * @return 登录响应数据
     */
    AuthLoginRespVO login(AuthLoginReqVO reqVO);

    /**
     * 用户登出
     *
     * @param token token
     */
    void logout(String token);


    /**
     * 通过刷新令牌获取访问令牌
     *
     * @param refreshToken 刷新TOken
     * @return 响应数据
     */
    AuthLoginRespVO refreshAccessToken(String refreshToken);

}
